/* Printer status information. */
/** @file

    Contains definitions and structures needed for error handling.

    Each program part defines its own range of errors.
    The text for all programm errors is stored in the message files.
    Every error text must start with Error_ followed by the error number.  */
/* Created 25.10.2005 T. Milius
   Changed 25.10.2005 T. Milius */
/* (c) Copyright 2005 by Thomas Milius Stade, Germany
   Source must not be altered without agreement of the owner.
   The owner of the source is allowed to use this code inside programs without
   publishing the code of this programs. These programs may be commercial.
   Other developers can use this source freely inside own software if the source
   code of this programs is made public to same conditions like valid to this code
   and no commercial profit is taken from the programs based on this code

   Code or parts of it are not allowed to be used within GPL code or
   similar licenses which are "infecting" other code and trying to "supersede"
   other licenses. */
/* ANSI-C */

#ifndef error_h
#define error_h

/* !!!!!!!!!! libraries !!!!!!!!!! */

/* !!!!!!!!!!! definitions !!!!!!!!!! */
#define MAX_STRING_LENGTH 256

#define MAX_ERROR_PARAMETERS 3

/* All other error codes defined by according program parts */
#define ERROR_NO_ERROR 0

/* !!!!!!!!!! data structures !!!!!!!!!! */
/** An error consists of the error number
    and some parameters describing the error in more details.
    The number of parameters depends on the error. */
struct error_struct {
int number;
int number_of_parameters;
char parameter[MAX_ERROR_PARAMETERS][MAX_STRING_LENGTH];
};

/* !!!!!!!!!! support functions !!!!!!!!!! */

/* !!!!!!!!!! functions !!!!!!!!!! */

#endif
